The present invention relates generally to transferring data, and more particularly to a method and apparatus for transferring data on a voltage biased data line.
A computer bus is generally a set of parallel conductors connecting two or more electrical devices for the purpose of data transfer. One popular bus is the SCSI bus. The SCSI bus is an interface designed for computers and electronic instrumentation to allow communication of data over short distances. The SCSI bus is designed to connect independent devices such as disk drives, tape drives, file servers, video monitors, printers, scanners, and other computers. Several SCSI versions have been developed and standardized, with newer versions being developed to keep pace with changing computer speeds and requirements. One of the newer standards is low voltage differential (LVD) SCSI, an improved version of differential SCSI. Differential voltage signals (typically of 400 millivolts difference) are used in LVD SCSI, allowing for higher data transfer rates and longer distances than the older single-ended SCSI standard. In LVD SCSI, each differential data line of the SCSI bus is comprised of two separate bus lines. A binary one is transmitted when the first bus line is more positive than the second bus line, and a binary zero is transmitted when the second bus line is more positive than the first bus line.
SCSI devices are usually connected from one device to another in a daisy chain arrangement. This configuration gives rise to a transmission delay problem where the ends of the bus, not having the same characteristic impedance as the bus itself, will reflect a portion of the signal. This reflection will cause longer transmission times as the bus attempts to receive the data signal over the reflected signal. To lessen this reflection problem, the common practice is to terminate each end of the physical SCSI bus with a termination circuit or terminator that attempts to match the characteristic impedance of the SCSI cable. The terminators used in LVD SCSI commonly provide a fixed biasing voltage across the two bus lines to keep the receivers from being driven by noise in the absence of any differential signals.
Unfortunately, due to the fixed biasing voltage the prior art LVD terminators had several drawbacks. One such drawback was that the fixed biasing voltage swamped out or masked differential data signals at high transfer rates. The SCSI bus like all transmission lines attenuates signals as a function of frequency. Accordingly, at high SCSI transfer rates, the SCSI bus substantially attenuates the differential data signals transferred across the SCSI bus. However, the differential data signals had to overcome the fixed biasing voltage applied by the prior art LVD terminators to the differential data line. If the SCSI bus attenuated the differential data signals enough, then the fixed biasing voltage swamped out or masked the differential data signals to a point where the receivers failed to detect the differential data signals.
Furthermore, the fixed biasing voltage required LVD drivers to drive the differential data line with asymmetrical currents in order to generate symmetrical differential voltages on differential data line. The LVD drivers had to drive asymmetrical currents because when driving the differential data line to a first differential voltage the differential biasing voltage hindered in the development of the first differential voltage. However, when driving the differential data line to a second differential voltage the differential biasing voltage aided in the development of the second differential voltage. The main problem with the asymmetrical current driving requirements was that it generated noise on the differential data line which limited the transfer rate at which data could be transferred reliably.
Therefore, what is needed is a method and apparatus for transferring data on a voltage biased data line that prevents the biasing voltage from swamping out the differential data signals during high speed transfers and that allows for symmetrical driving of the data line.